package com.baizhi.interfacex;

/**
 * 学生类
 */
public class Student implements Comparable<Student>{

    String name;
    int age;
    int score;
    String address;

    public Student() {
    }

    public Student(String name, int age, int score, String address) {
        this.name = name;
        this.age = age;
        this.score = score;
        this.address = address;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", score=" + score +
                ", address='" + address + '\'' +
                '}';
    }

    /**
     * 强行排序的方法
     * 排序规则：  比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象，则分别返回负整数、零或正整数。
     *   此对象： 即当前对象 this
     *   指定对象： 作为参数传进来的对象， 值得就是other
     *   要使用这个方法，需要指定我们的排序规则 , 我们是按照年龄排序，还是按照分数排序，   我们选择用分数排序
     *   排序规则就是用当前对象的分数-指定对象的分数   this.score - other.score   这个结果一定满足三种情况
     *   负数  返回 -1   升序
     *   0    返回 0
     *   整数  返回 +1   降序
     *
     *   //升序： this - other
     *   // 降序   other - this
     *
     * @param other
     * @return
     */
    @Override
    public int compareTo(Student other) {
        //成绩升序
        //return this.score - other.score;
        return other.age - this.age;
    }
}
